1. Field of Invention
The present invention relates to communication on a shared media and more specifically to a protocol for controlling data traffic on the shared media.
2. Description of Related Art
Available products and technologies that mix digital signals over the same channel suffer from either insufficient bandwidth or extended delays. This results in poor quality voice signals being delivered. The human ear is very sensitive to poor quality voice signals; and therefore, it is important to deliver voice signals with enough bandwidth and little delay to provide a quality voice signal without distortion.
In U.S. Pat. No. 6,006,271 (Grabiec et al.) a collision avoidance and contention resolution protocol is provided for networks with nodes communication over a shared communication medium. The protocol uses a carrier modulation scheme with multiple frequencies is used where nodes wanting to communicate simultaneously transmit a single frequency selected randomly from a set of frequencies during a time of contention. In U.S. Pat. No. 5,983,068 (Tomich et al.) a photonic home area network for interfacing an external communication network is described. The network is between a plurality of building containing both commercial a residential buildings. The network delivers television and audio data including telephone service. A photonic multi-access channel is used with a bi-directional electrical interface at each port into the channel. In U.S. Pat. No. 5,742,596 (Baratz et al.) a network based distributed private branch exchange (PBX) is described where clients communicate through regular telephones connected to client telephony modules connected to a host computer. The central office telephone lines terminate in another computer. Data is transferred over the network by digitizing voice signals for transmission and converting back to analog signals at a receiver. In U.S. Pat. No. 4,819,229 (Pritty et al.) describes a LAN priority control system with an interrupt priority control structure which allows transmission of a packet by a node with a higher priority message. A within packet interrupt scheme is used to interrupt a message.
In xe2x80x9cDesign Implementation and Evaluation of a Software-based Real-time Ethernet Protocolxe2x80x9d, Venkatramani et al., Department of Computer Science, State University of New York at Stony Brook, a software based timed token protocol is described called RETHER which provides real time performance guarantees for multimedia applications operating on existing Ethernet hardware. In xe2x80x9cFault Recovery in a Real Time Switched Ethernet Architecturexe2x80x9d, Varadarajan et al., Department of Computer Science, State University of New York at Stony Brook, a real time switched architecture, EtheReal, is described. A transparent connection oriented mechanism is provided to deliver bandwidth guarantees over Ethernet networks without changes to network hardware and system and device drivers.
An ordinary Ethernet network uses the carrier sense multiple access with collision detection (CSMA/CD) protocol to control network traffic. In a system using CSMA/CD a node wanting to transmit checks to see if the communication channel is idle. If the channel is idle, the node transmits its packet of data. If the channel is busy, the node waits for the channel to become idle before transmitting data. If there is a collision between the data being transmitted from the node and data from another node, the packet transmission is stopped, a jam signal is transmitted, and after a wait for a random period of time the node again checks the channel to see if it is idle. If the channel is idle the node again starts to transmit its data. A large amount of bandwidth is used during a collision making the CSMA/CD less than ideal for transmitting voice data without introducing distortions because of the delays caused by collisions.
In the present invention a plurality of nodes communicate data and voice signals over a share communication channel using tokens over Ethernet protocol (TEP) to provide a guaranteed bandwidth allocated to each node connected to the channel. The channel can be any communication medium such as a conduction medium like wire, or a transmission medium like air. The TEP uses a token controller to guide traffic in the shared medium so that signals can be delivered with minimal delay and adequate bandwidth. Using tokens to control the flow of information in the form of Ethernet packets on the shared channel insures that the network will not waste bandwidth on collisions.
All nodes connected to the shared channel listen to communications on the channel and can receive voice or data packets at any time. However, nodes only send data on the channel when it is their turn. A valid list of active nodes is maintained at each node which describes when a node is allowed to transmit data onto the channel. If a node is added or dropped from the channel a token is sent to all nodes which updates the valid list in the possession of each node. A token which notifies all other nodes which node transmits next is sent by a transmitting node at the end of the transmitting node""s turn to send data or voice packets.
Because of the sensitivity of voice data quality to delays in transmission, priority is given to voice packets over data packets by a transmitting node. If a node has a data packet and a voice packet ready to transmit, the node will transmit the voice packet after receiving a token authorizing it as the next to transmit. The data packet will be reserved for the next transmission time when there is not a contending voice packet. It is conceivable that a data packet could wait for more than one turn before transmission, but a voice packet will always be transmitted if the voice packet is available for transmission when a token is received with the nodes address as next to transmit.
Before transmitting a node will check to see if the shared channel is quiet to avoid a collision and will listen while transmitting. Although the TEP scheme is intended to prevent collisions by allocating time slot to each node on a channel, there is still a possibility of a collision for a non-typical operation. A non-typical operation is when a node is determined to have been skipped in the sequence of permitted transmissions. The skipped node would then issue a collision pattern until the channel becomes idle, and transmit an updated token indicating in the token command the need to add the address of the skipped node to the valid list of all other nodes. A transmitting node detecting the collision pattern will cancel transmission and return to listening to the channel for a token with notification that the node is next to transmit.
A network node that receives a token or packet checks to see if there is an error. This is done by calculating the cyclic redundancy code (CRC) for the token or packet that was received and comparing the calculated result with the CRC contained within the packet or token. If an error is found in a packet, the packet is discarded and a token is issued requesting a retransmission of the packet. Similarly, when a token is received with an error the token is discarded and a token is sent requesting a retransmission of the token that was in error. The transmission of tokens requesting a retransmission is done when it is the nodes turn to transmit after receiving a token with its address as next to transmit.